<?php
/**
 * NfxRegionAgent.php
 *
 * Niushop商城系统 - 团队十年电商经验汇集巨献!
 * =========================================================
 * Copy right 2015-2025 山西牛酷信息科技有限公司, 保留所有权利。
 * ----------------------------------------------
 * 官方网址: http://www.niushop.com.cn
 * 这不是一个自由软件！您只能在不用于商业目的的前提下对程序代码进行修改和使用。
 * 任何企业和个人不允许对程序代码以任何形式任何目的再发布。
 * =========================================================
 * @author : niuteam
 * @date : 2015.1.17
 * @version : v1.0.0.0
 */

namespace addons\Nsfx\data\service;

use addons\Nsfx\data\model\NfxModuleModel;

use data\service\BaseService;


/**
 * 模块service
 */
class NfxModule extends BaseService
{
    /**
     * 获取详情
     */
    public function getModuleInfo($condition, $field = '*')
    {
        $module_model = new NfxModuleModel;
        $info = $module_model->getInfo($condition, $field);
        return $info;
    }

    /**
     * 获取所有列表
     */
    public function getModuleList($condition, $order = '', $field = '*')
    {
        $module_model = new NfxModuleModel;
        $list = $module_model->getQuery($condition, $field, $order);
        return $list;
    }

    /**
     * 获取分页列表
     */
    public function getModulePageList($page_index = 1, $page_size = 0, $condition = [], $order = '', $field = '*')
    {
        $module_model = new NfxModuleModel;
        $res = $module_model->pageQuery($page_index, $page_size, $condition, $order, $field);
        return $res;
    }

    /**
     * 获取菜单root
     */
    public function getRootArray($module_id)
    {
        static $array = [];
        $module_info = $this->getModuleInfo(['module_id' => $module_id]);
        array_unshift($array, $module_info['module_id']);
        if($module_info['pid'] != 0){
            return $this->getRootArray($module_info['pid']);
        }else{
            return $array;
        }
    }

    /**
     * 面包屑导航
     * @param unknown $module_id
     */
    public function breadCrumb($module_id)
    {
        static $module_array = [];
        $module_info = $this->getModuleInfo(['module_id' => $module_id], 'module_id,module_name,module,controller,method,pid,url');
        array_unshift($module_array, $module_info);
        if (!empty($module_info['pid'])) {
            return $this->breadCrumb($module_info['pid']);
        } else {
            return $module_array;
        }
    }
}